Image processing apparatus and method, computer program, and computer-readable storage medium

ABSTRACT

This invention can multiplex noise on multilevel image data to reversibly embed visible additional information with a noise-multiplexed distribution while maintaining the atmosphere of the multilevel image data subjected to embedding. For this purpose, in this invention, when noise is multiplexed on multilevel image data to embed visible additional information with a noise-multiplexed distribution, information representing whether or not to multiplex noise for each pixel is input as the additional information. Whether a pixel of interest in the multilevel image data is located at a position where noise is to be multiplexed is determined on the basis of the additional information (S 106 ). When the pixel of interest is determined to be located at the position where noise is to be multiplexed, the second bit region where noise is to be multiplexed is specified on the basis of the first bit region in a bit configuration which constitutes the pixel of interest (S 110 ). Bit information in the second bit region of the specified pixel of interest is changed (S 112 , S 114 ).

FIELD OF THE INVENTION

[0001] The present invention relates to an image processing apparatus and method which perform conversion for degrading the image quality and inversion for removing the image quality degradation for digital image data of a still or moving image in order to protect the copyright of the image, a computer program, and a computer-readable storage medium.

BACKGROUND OF THE INVENTION

[0002] A digital image used to process an image as digital data can be easily copied by a computer or the like and transmitted via a communication line without degrading the image quality, compared to a conventional analog image. This feature, however, makes it easy to illicitly copy and redistribute a digital image having a copyright or the like.

[0003] To prevent this, there is known a digital watermark method. Digital watermarks are roughly classified into an invisible digital watermark obtained by invisibly embedding watermark information such as copyright information or user information, and a visible digital watermark obtained by visibly forming in an image a watermark image such as the logotype of a company having a copyright.

[0004] As for the invisible digital watermark, embedded watermark information cannot be recognized or is hardly recognized in an embedded image at a glance. Watermark information is rarely deleted, but is illicitly copied and distributed more frequently than visible watermark information. Even if a digital image is illicitly copied or distributed, watermark information remains in the digital image. An illicit user can be specified by a user ID or the like embedded as the watermark information.

[0005] As for the visible digital watermark, watermark information is visibly written in a digital image. It is difficult to directly utilize the digital image, suppressing illicit copying and illicit distribution. As a conventional visible digital watermark embedding method, the pixel value of an image representing copyright information such as the logotype of a copyright holder is replaced with the pixel value of an original image, embedding copyright information in the original image. The drawback of this method is that the original image cannot be reconstructed without difference information because the pixel value of the original image is lost.

[0006] In online sales of a digital image via the Internet or the like, the copyright is protected by not fully disclosing digital contents before purchase. The user grasps rough contents of the image, and then purchases the image.

[0007] To achieve this purpose, a digital content distributor uses a method of disclosing or distributing a reduced image (thumbnail image) or an image prepared by intentionally degrading the image quality of all or part of an original image in order to present rough contents of the image to the customer.

[0008] One candidate of a means for degrading the image quality is a visible digital watermark containing the logotype of a copyright holder or the like. If the visible digital watermark is not reversible, the original image of a degraded-quality portion must be transmitted again. In this case, retransmission of only a key is safer than retransmission of the original image via a network in terms of the communication amount and tapping in retransmission. Online image delivery services require a method of removing image quality degradation by using a key.

[0009] One of the techniques is a semi-disclosure technique. According to the semi-disclosure technique, bit information at an arbitrary bit position is extracted in an arbitrary region of an original image, and subjected to arithmetic processing such as encryption based on a key, degrading the image quality of the original image.

[0010] In the use of the semi-disclosure technique, bit information of part of an original image is saved, and conversion processing based on a key is performed for an extracted bit string to control the image quality of an image to be disclosed. Inversion processing based on a key is done to reconstruct the original image from the quality-degraded image.

[0011] An example of the semi-disclosure technique is disclosed in Japanese Patent Laid-Open No. 8-256321. This reference proposes a method of extracting part of the bit string of an image which is compression-coded by JPEG or MPEG compression coding, directly converting the extracted bit string by an independently defined conversion method without referring to a part other than the extracted part, and decoding the image.

[0012] If the user wants to purchase the original image of a distributed image whose quality is degraded, he/she acquires a key used to convert the bit string. The user can acquire a completely reconstructed content from the partially scrambled image and the key.

[0013] This method preserves the feature of an original image, but is a kind of scramble (encryption). This method does not fully consider the image quality against noise added by conversion processing.

[0014] More specifically, the image quality degradation of an image to be converted (scrambled) is determined by only a uniformly extracted bit string set in advance regardless of the feature of the image or the like. This method does not consider the human visual characteristic which is less sensitive to a change in luminance at a high luminance value and sensitive to a change at a low luminance value. The image quality degradation is not uniform at any grayscale.

[0015] In other words, there is a demand for a method of adding proper noise which allows the image appreciator to satisfactorily confirm the outline of an image.

SUMMARY OF THE INVENTION

[0016] The present invention has been made to overcome the conventional drawbacks, and has as its object to provide an image processing apparatus and method which multiplex noise on multilevel image data to reversibly embed visible additional information with a noise-multiplexed distribution while maintaining the atmosphere of multilevel image data subjected to embedding, a computer program, and a computer-readable storage medium.

[0017] It is another object of the present invention to provide an image processing apparatus and method capable of removing additional information to reconstruct an original image or an image almost identical to the original image, a computer program, and a computer-readable storage medium.

[0018] To achieve the above objects, an image processing apparatus according to the present invention has the following arrangement.

[0019] That is, an image processing apparatus which multiplexes noise on multilevel image data to embed visible additional information with a noise-multiplexed distribution comprises:

[0020] input means for inputting, as the additional information, information representing whether or not to multiplex noise for each pixel,

[0021] determination means for determining on the basis of the additional information whether a pixel of interest in the multilevel image data is located at a position where noise is to be multiplexed,

[0022] specifying means for, when the determination means determines that the pixel of interest is located at the position where noise is to be multiplexed, specifying a second bit region where noise is to be multiplexed, on the basis of a state of a first bit region in a bit configuration which constitutes the pixel of interest, and

[0023] change means for reversibly changing bit information for the second bit region of the pixel of interest specified by the specifying means.

[0024] Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same or similar parts throughout the figures thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

[0025]FIG. 1 is a flow chart of a reversible noise addition apparatus according to the first embodiment;

[0026]FIG. 2 is a view showing an example of a determination bit region, arithmetic bit region, and non-arithmetic bit region;

[0027]FIGS. 3A, 3B, and 3C are tables showing arithmetic bit region determination tables for respective visual intensities;

[0028]FIG. 4 is a block diagram showing the internal arrangement of an arithmetic bit region determination unit which executes arithmetic bit region determination processing;

[0029]FIG. 5 is a block diagram showing the internal arrangement of an arithmetic unit which executes arithmetic processing;

[0030]FIG. 6 is a view showing an example of contents of arithmetic processing;

[0031]FIG. 7 is a flow chart of a reversible noise removal apparatus according to the first embodiment;

[0032]FIG. 8 is a view showing a minimum encoding unit in JPEG compression coding;

[0033]FIG. 9 is a view showing band division by discrete wavelet transform in JPEG 2000 compression coding;

[0034]FIG. 10 is a view showing an example of watermark image shape information in the embodiment; and

[0035]FIG. 11 is a block diagram showing an example of an apparatus according to the embodiment.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0036] Preferred embodiments of the present invention will be described below with reference to the accompanying drawings.

[0037] <Description of Premise>

[0038]FIG. 10 shows an example of image shape information for specifying a position subjected to arithmetic processing of degrading the image quality within an image in the embodiment. The image shape information will be called “watermark image shape information”.

[0039] Watermark image shape information can be any image information such as the logotype of a copyright holder, an image photographing date and time, a personal name, a company name, a logotype, or an impressive pattern. Watermark image shape information may be a region of interest (e.g., a morbid portion of a medical image) in an embedding target image.

[0040] In the following embodiments, watermark image shape information is a mask having information of 1-bit pixels (binary) which defines a position where a visible digital watermark is embedded, as shown in FIG. 10. In FIG. 10, a digital watermark is embedded in a white (pixel “1”) alphabet region, and an original image is presented through a black (pixel “0”) pixel (which is a region where the original image is not processed).

[0041] In the following embodiments, arithmetic processing of degrading the image quality is performed at only the spatial position of part of an image. However, arithmetic processing of degrading the image quality of an entire image also falls within the scope of the present invention.

[0042] In the following embodiments, a component subjected to arithmetic processing of degrading the image quality is a luminance component which constitutes a color image. Since the color component does not change upon operating the luminance component, the brightness seems to have changed in appearance.

[0043] The human visual characteristic to luminance is nonlinear such that a change in luminance is hardly perceived at a high luminance and easily perceived at a low luminance. The human perception to the luminance component is relatively well known, and the luminance component is preferable as a component subjected to arithmetic processing of degrading the image quality on the basis of the human visual characteristic.

[0044] However, a component used to embed a visible digital watermark is not limited to a luminance component. R (Red), G (Green), and B (Blue) components can also be operated with good balance such that the image quality degradation can be uniformly sensed while preserving the feature of the image. This also applies to other components (e.g., C (Cyan), M (Magenta), and Y (Yellow)).

[0045] For descriptive convenience, an input image is an 8-bit grayscale image (monochrome grayscale image). An image comprised of R (Red), G (Green), and B (Blue) color components, or an image comprised of Y (Luminance) and U and V (two color difference components) color components can also be processed by a method according to the embodiments of the present invention.

<First Embodiment>

[0046] The first embodiment of the present invention will be described below with reference to the accompanying drawings.

[0047]FIG. 11 is a block diagram showing an information processing apparatus which processes an image in the first embodiment. In FIG. 11, reference numeral 1 denotes a CPU which controls the whole apparatus; 2, a ROM which stores a boot program, BIOS, and the like; and 3, a RAM used as a work area for the CPU 1. An OS, image processing program, or the like is loaded to the RAM 3 and executed. Reference numeral 4 denotes a hard disk device serving as an external storage device for storing an OS, image processing program, and image data files (including files before and after processing); 5, an image input device such as an image scanner, a digital camera, a storage medium (memory card, flexible disk, CD-ROM, or the like) which stores an image file, or an interface for downloading an image from a network; 6, a display device which displays an image and provides GUI for performing various operations; 7, a keyboard; and 8, a pointing device used to designate a desired position on a display screen and select various menus.

[0048] The apparatus having the above arrangement is powered on, and the OS is loaded to the RAM 3. An image processing program in the first embodiment is loaded to the RAM 3 and executed in accordance with a user instruction or automatic activation setting.

[0049]FIG. 1 is a flow chart showing reversible noise addition processing as image processing according to the first embodiment of the present invention.

[0050] In step S102 of FIG. 1 as an initial setting step, an original image I comprised of a plurality of pixels each having a pixel position and pixel value, watermark image shape information M comprised of a pixel position representing the shape of a region where noise is added into an image, a random number key R for generating a predetermined serial bit sequence expressed by binary numbers, an arithmetic bit region determination table T which defines a bit region subjected to arithmetic processing among pixel values, a visible intensity value S which defines the intensity of noise to be added, and an output image W identical to the input original image I are set.

[0051] The original image I may be an image directly input from the image input device 5 or an image file temporarily saved in the HDD 4. The image shape information M is information stored in the HDD 4 in advance, but may be freely created by the user. As for the random number key R, a function (program) for generating a random number may be executed. The arithmetic bit region determination table T and visible intensity value S may be input from the keyboard or the like, or may be saved as a file in the HDD in advance. The output destination of the output image W is the HDD 4. The serial bit sequence may be fixed for the entire image, but is changed in accordance with the image embedding position on the basis of the random number key R in order to enhance security.

[0052] In step S104, an unprocessed pixel is selected from the input image. In step S106, a position in watermark image shape information that corresponds to the pixel position, i.e., whether the pixel position is position “1” in image shape information (in this embodiment, a watermark image is embedded at a white pixel position in FIG. 10, as described above) is determined. If the current pixel is a pixel subjected to embedding (multiplexing), the pixel position information is transferred to step S108. If NO in step S106, processing for the pixel ends.

[0053] In step S108, bit information of a determination bit region in the pixel value of the original image selected in step S104 is read out. The determination bit region, which will be described in detail later, is used to determine a pixel value, and is a bit region not subjected to arithmetic processing.

[0054] In step S110, an arithmetic bit region to be processed by arithmetic processing in step S112 is determined on the basis of the determination bit region read out in step S108 and the visible intensity value S. Arithmetic bit region determination processing in step S110 will be described in detail later. By determining an arithmetic bit region and non-arithmetic bit region, a noise range to be added to the image can be determined, and the image quality of a noise-added region can be controlled.

[0055] In step S112, arithmetic processing is performed between the bit of the arithmetic bit region determined in step S110 and a serial bit sequence generated from the random number key R input by initial setting in step S102. This arithmetic processing must be reversible. Arithmetic processing includes all reversible arithmetic processes such as exclusive-OR calculation, modulo addition, and modulo multiplication.

[0056] In step S114, processing of writing the value of the bit region of a corresponding input pixel in the output image W by the value of the processed arithmetic bit region is executed.

[0057] In step S116, whether all pixels have been processed is determined. If NO in step S116, processing returns to step S104 to continue the above-described processing until all pixels have been processed.

[0058] The outline of the reversible noise addition apparatus according to the first embodiment has been described. Reversible noise addition processing will be explained in more detail.

[0059]FIG. 2 is a view showing a state in which a pixel value (in this case, the luminance component value of each pixel) expressed by 8 bits is expressed by binary bits. The MSB (most significant bit) is B7, and the LSB (least significant bit) is B0. Intermediate bits are expressed as B6, B5, B4, B3, B2, and B1 in a descending order.

[0060]FIG. 2 illustrates a determination bit region, arithmetic bit region, and non-arithmetic bit region.

[0061] Simply stated, the determination bit is used to determine whether the luminance of a pixel is high or low and to determine the range of the arithmetic bit region, and is fixed. In the first embodiment, upper 2 bits including the MSB in the pixel value (8bits) are assigned to this region. The arithmetic bit region changes in size in accordance with the value of the determination bit region, and may change. The non-arithmetic bit region also changes in size in accordance with the value of the determination bit region, and is not subjected to any operation (change). In the first embodiment, the determination bit region is comprised of upper 2 bits (B7 and B6) including the MSB, and the sum of the number of bits of the arithmetic bit region and the number of bits of the non-arithmetic bit region is 6.

[0062] In determination bit region reference processing of step S108, the bit value of the determination bit region of an input pixel (8bits) is read out. In other words, the rough value of a target pixel is referred to. In step S108, the bit values of the arithmetic bit region and non-arithmetic bit region are not determined yet.

[0063]FIGS. 3A to 3C show examples of the arithmetic bit region determination table T used in arithmetic bit region determination processing of step S110.

[0064]FIG. 3A shows the contents of the arithmetic bit region determination table T when the visible intensity value is highest (visible intensity value S=1). FIG. 3B shows the contents of the table when the visible intensity is intermediate (visible intensity value S=2). FIG. 3C shows the contents of the table when the visible intensity value is lowest (visible intensity value S=3). The visible intensity is highest at S=1 for descriptive convenience. In short, the visible intensity has a plurality of levels, and one of the levels is specified. The number of intensity levels is not limited to three. For example, four patterns of the arithmetic bit region in FIG. 3B are smaller by one bit than corresponding patterns in FIG. 3A. If the number of bits of some of the patterns is decreased and the number of bits of each of the remaining patterns is set equal, four or more levels can be defined.

[0065] For descriptive convenience, a case wherein the visible intensity S is highest (S=1) will be explained.

[0066] In the arithmetic bit region determination table T (301 in FIG. 3A), the bit value of the determination bit region (B7 and B6) is defined in correspondence with the arithmetic bit region. A bit position “Y” in the arithmetic bit region 301 represents an arithmetic bit region, and a blank bit position represents a non-arithmetic bit region. That is, the arithmetic bit region is given by the function of the bit value of the determination bit region.

[0067] For example, when the arithmetic bit region determination table 301 is referred to for the bit value of B7 (MSB)=1 and the bit value of B6=0 at a predetermined visible intensity value, the arithmetic bit region is defined by B4, B3, B2, B1, and B0 (lower 5 bits including the LSB), and the non-arithmetic bit region is defined by one bit of the remaining B5. As is apparent from FIG. 3A, the number of bits of the arithmetic bit region is larger for a higher luminance, and the arithmetic bit region is smaller for a lower luminance. Since the human visual characteristic is sensitive to a low luminance, as described above, the image quality degradation by changing the bits of the arithmetic bit region is minimized. The human visual sense is low for a high luminance, and the arithmetic bit region can be large.

[0068] As is apparent from FIG. 3A, the distribution of the arithmetic bit region shown in FIG. 2 corresponds to B7 and B6=1.

[0069] The case wherein the visible intensity value is highest has been described. For the visible intensity value S=2 in FIG. 3B, the arithmetic bit region is smaller by one bit in comparison with S=1 in FIG. 3A. For S=3, the arithmetic bit region is smaller by another bit.

[0070]FIG. 4 is a block diagram showing an arithmetic bit region determination unit which executes arithmetic bit region determination processing of step S110.

[0071] An arithmetic bit region determination unit 400 receives a bit value 402 of the determination bit region from the determination bit region reference processing means in step S108, and the initially set visible intensity value S and arithmetic bit region determination table T. As described above, the arithmetic bit region determination unit 400 determines an arithmetic bit region on the basis of the bit value of the determination bit region, the arithmetic bit region determination table T, and the visible intensity value S, and outputs the arithmetic bit region as arithmetic bit region information.

[0072]FIG. 5 is a block diagram showing an arithmetic unit which executes arithmetic processing of step S112.

[0073] An arithmetic unit 500 receives an input pixel value 502 to be processed, a serial bit sequence 504 which is generated from the random number key R and changes depending on the position, and arithmetic bit region information 510 determined in step S110. The arithmetic unit 500 executes arithmetic processing on the basis of a predetermined reversible arithmetic method, and outputs an arithmetic result 506.

[0074] An example of the operation of the arithmetic unit 500 according to the first embodiment will be described with reference to FIG. 6.

[0075] In FIG. 6, reference numeral 602 denotes an input pixel value; 604, a serial bit sequence (region within a thick frame is referred to) generated from the random number key R; 606, an exclusive-OR (XOR) result of an input pixel and a corresponding bit position in a serial bit sequence; and 608, an output pixel having undergone arithmetic processing. A bit position surrounded by a thick frame is an arithmetic bit region.

[0076] As described above, an arithmetic bit region is determined by referring to the determination bit region of the input pixel 602. A bit position surrounded by the thick frame in the input pixel 602 is an arithmetic bit region.

[0077] The serial bit sequence 604 serves as a key for decoding a pixel. A serial bit sequence corresponding to a region other than the arithmetic bit region is not required (even if such region exists, it is ignored).

[0078] A value in the thick frame in the exclusive-OR 606 is the arithmetic processing result (in this case, exclusive-OR) of the arithmetic bit region of an input pixel and the bit region of a corresponding serial bit sequence.

[0079] The output pixel 608 is a result of writing the arithmetic processing result 606 as the value of the arithmetic bit region of a corresponding input pixel.

[0080] In FIG. 6, the difference between the pixel value of the arithmetic result and the original pixel value (B means a binary number in the following description) is

11011101(B)−11110101(B)=221−245=−24

[0081] This means that the pixel value of interest has changed by “−24”.

[0082] When six bits B5, B4, B3, B2, B1, and B0 form an arithmetic bit region and the entire arithmetic bit region is inverted, a pixel value change of 2{circumflex over ( )}5+2{circumflex over ( )}4+2{circumflex over ( )}3+2{circumflex over ( )}2+2{circumflex over ( )}1+2{circumflex over ( )}0=32+16+8+4+2+1=63 (x{circumflex over ( )}y represents the yth power of x) is realized at maximum.

[0083] If the arithmetic bit region is small (the luminance of an input pixel is smaller), the number of bits of the arithmetic bit region decreases, and the number of bits of the non-arithmetic bit region increases. The maximum change amount decreases, reducing a visual change.

[0084] In this way, the first embodiment introduces processing of determining an arithmetic bit region from the determination bit region. Part of image information can be saved, and at the same time the maximum change amount (Δmax) of the pixel value can be determined in accordance with the pixel value of an original image.

[0085] In FIG. 3A, reference numeral 302 denotes a maximum change amount (Δmax) of a pixel value corresponding to the arithmetic bit region determination table 301 when the visible intensity value is maximum. The above description also applies to FIGS. 3B and 3C.

[0086] The randomized effect of the bit of the arithmetic bit region by arithmetic processing in step S112 of FIG. 1 is predicted. By determining an arithmetic bit region, a random luminance change within the maximum change amount Δmax can be realized within the watermark image shape region where noise is added.

[0087] The human visual characteristic is more sensitive to a change in luminance value at a lower luminance value and less sensitive to a change in luminance value at a higher luminance value. The arithmetic bit region (maximum change amount Δmax) is preferably designed in consideration of the human visual characteristic.

[0088]FIGS. 3A to 3C show examples of the arithmetic bit region determination table designed in consideration of the human visual characteristic.

[0089] Uniform color spaces CIE 1976 L*u*v* and CIE 1976 L*a*b* (to be referred to as an L*a*b* color space hereinafter) in which a color change in the space coincides with a change in color appearance have been recommended by CIE since 1976. The uniform color space is also effective for determining the maximum change amount Δmax.

[0090] A reversible noise removal apparatus according to the first embodiment will be briefly described.

[0091]FIG. 7 is a flow chart showing reversible noise removal processing according to the first embodiment. Reversible noise removal processing according to the first embodiment can be realized by almost the same processing as reversible noise addition processing. Similar to the apparatus which performs multiplexing processing, the apparatus arrangement can be implemented by a general-purpose information processing apparatus (e.g., personal computer), and a description thereof will be omitted.

[0092] In initial setting of step S702, an image W comprised of a plurality of pixels each having a pixel position and pixel value, watermark image shape information M representing the shape of a region wherein noise is added into an image, a random number key R for generating a predetermined serial bit sequence expressed by binary numbers, an arithmetic bit region determination table T which defines a bit region subjected to arithmetic processing among pixel values, and a visible intensity value S which defines the intensity of noise to be added are input. An output image E is set to an image identical to the input image W.

[0093] The watermark image shape information M, random number key R, arithmetic bit region determination table T, and visible intensity value S are key information for removing noise.

[0094] In step S704, unprocessed pixel data of the input image is read out. In step S706, a position of the readout pixel that corresponds to the original image is compared with watermark image shape information, and whether the position coincides with the pixel position of a noise addition portion is determined. If YES in step S704, the pixel position information is transferred to step S708; if NO, processing for the pixel ends.

[0095] In step S708, bit information of a determination bit region in the pixel value of the original image designated in step S704 is read out.

[0096] In step S710, an arithmetic bit region to be processed by arithmetic processing in step S712 is determined on the basis of the determination bit region value read out in step S708.

[0097] In step S712, inverse arithmetic processing is performed between the bit of the arithmetic bit region determined in step S710 and a serial bit sequence generated from the random number key input by initial setting in step S702. This arithmetic processing is inverse arithmetic processing (decoding processing) corresponding to arithmetic processing in embedding.

[0098] Inverse arithmetic processing is reversible, which is apparent from the fact that, in the example of FIG. 6, a processed pixel value and serial bit sequence are exclusive-ORed to completely restore an “input pixel value” in FIG. 6.

[0099] In step S714, processing of writing the value of the bit region of a corresponding input pixel in the output image E by the value of the processed arithmetic bit region is executed.

[0100] In step S716, whether all pixels have been processed is determined. If NO in step S716, processing returns to step S704 to continue the above-described processing until all pixels have been processed.

[0101] The operation of the reversible noise removal apparatus according to the first embodiment has been described. Noise removal processing is basically almost the same as noise embedding processing.

[0102] As described above, the first embodiment can set the pixel value change amount such that the noise amount added by arithmetic processing changes in accordance with the image grayscale in a region represented by watermark image shape information of an original image while maintaining the feature of an original image. In addition, no original image is required for removing added noise. Introduction of high-security cryptography to arithmetic processing makes it difficult to remove added noise.

[0103] The arithmetic bit region determination table T is used to determine an arithmetic bit region. An arithmetic bit region determination function F expressed by a formula can also be used, and this method also falls within the scope of the present invention.

[0104] In the first embodiment, the determination bit region is defined by 2 bits starting from the MSB out of 8 bits which constitute a pixel value. The arithmetic bit region is defined by Q bits starting from the LSB though the number Q of bits of the arithmetic bit region changes depending on the determination bit region value. The number of determination bits may be not two but three. In short, the range of noise to be multiplexed suffices to change depending on a bright or dark portion in an image.

[0105] Concrete examples of this method are as follows.

[0106] A server which services images on the Internet is installed. Images containing additional information having undergone processing in FIG. 1, and pieces of specific information (image shape information M, random number key R, arithmetic bit region determination table T, and visible intensity S) for reconstructing the respective images are stored and managed. The user (client) selects and downloads a desired image. The downloaded image contains visible additional information (e.g., a photographer name and photographing date and time), as described above, and can satisfactorily present the atmosphere of the entire image. The user notifies the server that he/she wants to reconstruct the downloaded image into an original image (e.g., by clicking a corresponding button on a browser or the like). The server transmits not the original image itself but pieces of information (image shape information M, random number key R, arithmetic bit region determination table T, and visible intensity value S) which are specific to the image and necessary for reconstruction (this can prevent leakage of the original image). In transmission, these pieces of information are encrypted by a private key, which enhances security. The user PC receives these pieces of information, and performs processing of executing processing shown in FIG. 7.

[0107] As for the random number key R, a common function for generating a random number is held in the server and client, instead of transmitting a random number itself. Only an initial parameter for generating a random number is transmitted. If the same parameter is used for all images, all images held by the server can be undesirably reconstructed. To prevent this, the parameter is changed for each image.

[0108] In the first embodiment, the arithmetic bit region determination table T (in the third embodiment, three tables as shown in FIGS. 3A to 3C), and the visible intensity value S serving as information representing one of the tables to be used are transmitted for the arithmetic bit region. The arithmetic bit region (number of bits) of a pixel of interest is obtained by determination bits (in the above example, B7 and B6) and the visible intensity value S. Hence, the arithmetic bit region may be expressed by a function. Letting Q be the number of bits (Q bits from the LSB to an upper bit) of the arithmetic bit region,

[0109] Q=f(B7, B6,S)

[0110] When determination bits are represented by the number P of bits from the MSB to a lower bit,

[0111] Q=f(P,S)

[0112] The function f( ) is commonly held in the client and server, and the server only notifies the client of P and S in a predetermined format (e.g., encryption). The information amount can be greatly reduced, compared to transferring the table itself.

[0113] The visible intensity S may be set freely by the user or automatically. For example, the visible intensity S may be automatically determined using the range width and central luminance of the luminance distribution (histogram or the like may be created) of an original image as parameters.

<Second Embodiment>

[0114] The first embodiment assumes noise addition processing for each pixel. The second embodiment will describe a case wherein reversible noise is added to an image compression-coded by JPEG, JPEG 2000, or the like.

[0115] A compression coding method such as JPEG or JPEG 2000 does not define an input color component. In many cases, R (Red), G (Green), and B (Blue) color components are transformed into Y (luminance), Cb (color difference), and Cr (color difference), and then discrete cosine transform (to be referred to as DCT hereinafter) or discrete wavelet transform (to be referred to as DWT hereinafter) is executed.

[0116] Under the concept described in the first embodiment, a frequency conversion coefficient representing the luminance component of a color image compression-coded by JPEG or JPEG 2000 is used as a component for adding reversible noise. Such component can be embedded in a luminance value without any special processing.

[0117] In JPEG compression coding, compression coding is performed for each block. For example, a JPEG-compression-coded image has a minimum encoding unit (in general, 8×8 pixels), and basic compression coding processing is done for each unit. To add reversible noise in a JPEG-compression-coded image, watermark image shape information is set not for each pixel but for the minimum encoding unit. This facilitates applying the method of the first embodiment.

[0118] More specifically, in order to transform an image into frequency component data for each 8×8 pixel block, DCT transform is performed. If the pixel block is not located at a position where noise should be multiplexed, general JPEG encoding is done. If the pixel block is determined to be located at the multiplexing position, the same processing as that in the first embodiment is executed for bits which constitute a DC component value obtained as a result of DCT transform. At this time, the visible intensity value S is referred to, similar to the first embodiment.

[0119] In FIG. 8, reference numeral 801 denotes an image block in the minimum encoding unit in JPEG compression coding. For a JPEG-compression-coded image, DCT (Discrete Cosine Transform) is executed within the minimum encoding unit (801). Reference numeral 802 denotes a DC component (average value) of a DCT coefficient obtained for the minimum encoding unit after DCT transform. The remaining 63 coefficients are AC coefficients.

[0120] The average value in the minimum encoding unit (801) can be changed by performing arithmetic bit region calculation processing described in the first embodiment for the DC component of the DC coefficient in the minimum encoding unit. Reversible noise can be added to each block.

[0121] Assuming that watermark image shape information is information which designates the minimum encoding unit block subjected to embedding, the first embodiment can be applied. As another merit for the first embodiment, image shape information M can be reduced. In JPEG, whether to perform multiplexing for the 8×8 pixel unit is determined. One pixel of image shape information (binary image) corresponds to 8×8 pixels of an original image (the capacity is reduced to {fraction (1/64)}).

[0122] To remove noise, whether a block to be processed undergoes noise embedding is determined on the basis of image shape information before inverse DCT transform. If the pixel is determined not to be subjected to noise embedding, the block is decoded by general processing. If the pixel is determined to be subjected to noise embedding, an arithmetic bit region at a DC component is obtained (specified) by looking up an arithmetic bit region determination table T determined by the visible intensity value S. Logical calculation (exclusive-OR calculation according to the first embodiment) with a serial bit sequence generated by a random number is performed to reconstruct the image. In JPEG compression coding, data is discarded by quantization processing, and the image cannot be completely reconstructed into an original image. However, also in the second embodiment, at least an image from which noise is removed to almost an original image can be obtained at the same quality as a decoding result by general JPEG.

[0123] On the other hand, a JPEG 2000-compression-coded image is compression-coded by dividing the image stepwise by the band from a low frequency to a high frequency by using DWT (Discrete Wavelet Transform) while holding image shape information.

[0124]FIG. 9 is a view showing band division by discrete wavelet transform in JPEG 2000 compression coding.

[0125] In discrete wavelet transform, low frequency image components which greatly influence an image concentrate on LL, and LL satisfactorily holds the image feature of an original image. If an element used for embedding is the low frequency component (LL) of DWT (Discrete Wavelet Transform), reversible noise can be added relatively similar to the first embodiment.

[0126] In FIG. 9, LL is a low-frequency-component subblock as a result of performing DWT twice. All pixels which constitute the subblock undergo the same embedding as that in the first embodiment.

[0127] When the method described in the first embodiment is applied to the DWT (Discrete Wavelet Transform) coefficient of a JPEG 2000-compression-coded image, an arithmetic bit region determination table must be designed in consideration of the fact that the DWT coefficient takes a positive or negative value.

[0128] In a JPEG 2000-compression-coded image, a 1-bit bit plane having the same size as the image size is prepared for ROI (Region Of Interest). (A JPEG 2000 basic encoding system shifts up and encodes only ROI.) When watermark image shape information is to be presented like a visible digital watermark to the image appreciator in the absence of any ROI, the watermark image shape information may be set in ROI.

[0129] For example, visible logotype information representing copyright information is described in ROI. In transmitting image information by content delivery, the logotype information can be first presented to the appreciator, explicitly presenting the copyright holder of the content to the user.

[0130] Watermark image shape information has been encoded together with an image as ROI information. Key information necessary to remove reversible noise can be reduced.

[0131] Watermark image shape information necessary to remove reversible noise can also be attached to a predetermined position such as the header of an image file. Reconstruction of a noise-added image into an original image requires only necessary key information in addition to the image file, reducing the delivered information amount.

[0132] A key (and watermark image shape information) necessary to remove reversible noise has a relatively small information amount, and can be attached to a predetermined position such as the header of an image file. In order to enable only a specific user to remove reversible noise, the key (and watermark image shape information) may be encrypted by predetermined cryptography (e.g., public key cryptography), and attached to a predetermined position such as the header of an image file.

[0133] The first embodiment has described only an exclusive-OR (XOR calculation) as cryptography. The present invention can also adopt secret key cryptography such as DES or public key cryptography by collecting a plurality of arithmetic bit regions into a predetermined processing unit (e.g., 64 bits).

[0134] In the use of secret key cryptography such as DES belonging to block cryptography of performing processing for each predetermined processing unit, if the number of collected bits does not reach a predetermined processing unit, “0”s or “1”s are padded by a necessary number of bits to satisfy the predetermined unit and then encryption is performed. A bit which cannot be stored at an original pixel position may be attached to a predetermined file position such as a header.

[0135] Alternatively, cryptography belonging to stream cryptography (belonging to secret key cryptography) capable of processing for one to several bits may be employed.

[0136] In this case, in the first embodiment, not a random number key, but a secret key for secret key cryptography, or a public key in embedding and private key in extraction for public key cryptography are input by initial setting.

[0137] The second embodiment has exemplified DES as cryptography, but may adopt another secret key cryptography such as AES, FEAL, IDEA, RC2, RC4, RC5, MISTY, Caesar cryptography, Viginere cryptography, Beaufort cryptography, Playfair cryptography, Hill cryptography, or Vernam cryptography.

[0138] The second embodiment has exemplified a still image, but the same principle can also be applied to a moving image. For example, in MPEG compression coding, reversible noise can be relatively easily embedded using an intermediate frame as an embedding target. In Motion JPEG 2000, reversible noise is repetitively embedded by the same method as that of JPEG 2000 compression coding in the time frame direction. Hence, addition of reversible noise to a moving image also falls within the scope of the present invention.

[0139] The present invention has mainly described addition of reversible noise corresponding to the pixel value of an image. A visible digital watermark can also be embedded by adding strong noise to watermark image shape information. Embedding of a visible digital watermark using the above-described method of the present invention also falls within the scope of the present invention.

[0140] As is apparent from the above embodiments, most of the embodiments can be realized by software. In general, when a computer program is installed into a general-purpose information processing apparatus such as a personal computer, a computer-readable storage medium such as a floppy® disk, CD-ROM, or semiconductor memory card is set in the apparatus to execute an install program or copy the program to the system. Such computer-readable storage medium also falls within the scope of the present invention.

[0141] An OS or the like running on the computer performs part or all of processing. Alternatively, program codes read out from the storage medium are written in the memory of a function expansion board inserted into the computer or the memory of a function expansion unit connected to the computer, and the CPU of the function expansion board or function expansion unit performs part or all of actual processing on the basis of the instructions of the program codes. Also in this case, functions equal to those of the embodiments can be realized, the same effects can be obtained, and the objects of the present invention can be achieved.

[0142] As described above, according to the embodiments, an input image and key are input. Of the building values of the building components of the input image, some of them are referred to. Calculation based on the key is executed to change the building values. High-security reversible noise can be embedded in an original image in accordance with the feature of the input image, satisfactorily protecting copyrights.

[0143] The reversible noise-embedded image and key are input, and calculation reverse to the above calculation is executed. As a result, the reversible noise can be removed to reconstruct the original image.

[0144] As has been described above, according to the present invention, while the atmosphere of multilevel image data subjected to embedding is maintained, noise can be multiplexed on the image data to reversibly embed visible additional information with a noise-multiplexed distribution. By removing the additional information, an original image or an image almost identical to the original image can be reconstructed.

[0145] As many apparently widely different embodiments of the present invention can be made without departing from the spirit and scope thereof, it is to be understood that the invention is not limited to the specific embodiments thereof except as defined in the appended claims. 

What is claimed is:
 1. An image processing apparatus which multiplexes noise on multilevel image data to embed visible additional information with a noise-multiplexed distribution, comprising: input means for inputting, as the additional information, information representing whether or not to multiplex noise for each pixel; determination means for determining on the basis of the additional information whether a pixel of interest in the multilevel image data is located at a position where noise is to be multiplexed; specifying means for, when said determination means determines that the pixel of interest is located at the position where noise is to be multiplexed, specifying a second bit region where noise is to be multiplexed, on the basis of a state of a first bit region in a bit configuration which constitutes the pixel of interest; and change means for reversibly changing bit information for the second bit region of the pixel of interest specified by said specifying means.
 2. The apparatus according to claim 1, wherein, in a case where the multilevel image data includes multilevel image data using a luminance value as a reference, the first bit region includes a predetermined number of upper bits including a most significant bit, and the second bit region includes lower m bits which include a least significant bit and change in accordance with a value of the second bit region.
 3. The apparatus according to claim 1, further comprises means for setting information on an intensity for multiplexing noise, and said specifying means specifies the second bit region on the basis of the set intensity information and the state of the first bit region.
 4. An image processing apparatus which removes visible additional information from multilevel image data in which noise is reversibly embedded to multiplex the visible additional information, comprising: input means for inputting, as the additional information, information representing whether or not to multiplex noise for each pixel; determination means for determining on the basis of the additional information whether a pixel of interest in the multilevel image data is located at a position where noise is multiplexed; specifying means for, when said determination means determines that the pixel of interest is located at the position where noise is multiplexed, specifying a second bit region where noise is multiplexed on-the basis of a state of a first bit region in a bit configuration which constitutes the pixel of interest; and reconstruction means for performing conversion inverse to noise multiplexing to reconstruct a state of the second bit region of the pixel of interest specified by said specifying means into a state before multiplexing.
 5. An image processing apparatus which converts multilevel image data into frequency component data for each pixel block of a predetermined size to compression-code the multilevel image data, and multiplexes noise on the multilevel image to embed visible additional information with a noise-multiplexed distribution, comprising: input means for inputting, as the additional information, information representing whether or not to multiplex noise for each pixel block of the predetermined size; determination means for determining on the basis of the input additional information whether a pixel block of interest is located at a position where noise is to be multiplexed; specifying means for, when said determination means determines that the pixel block of interest is located at the position where noise is to be multiplexed, specifying a second bit region where noise is to be multiplexed, on the basis of a state of a first bit region in data which constitutes a low frequency component after conversion of the pixel block of interest; and change means for reversibly changing bit information for the second bit region in the data of the low frequency component specified by said specifying means.
 6. The apparatus according to claim 5, wherein the conversion into the frequency component includes orthogonal transform, and the low frequency component includes a DC component after orthogonal transform.
 7. The apparatus according to claim 5, wherein the conversion into the frequency component includes wavelet transform, and the low frequency component includes data of a block of a low frequency component that is generated by wavelet transform a plurality of number of times.
 8. The apparatus according to claim 5, wherein, in a case where the multilevel image data includes multilevel image data using a luminance value as a reference, the first bit region includes a predetermined number of upper bits including a most significant bit, and the second bit region includes lower m bits which include a least significant bit and change in accordance with a value of the second bit region.
 9. The apparatus according to claim 5, wherein the image processing apparatus further comprises means for setting information on an intensity for multiplexing noise, and said specifying means specifies the second bit region on the basis of the set intensity information and the state of the first bit region.
 10. An image processing apparatus which removes visible additional information from multilevel image data that is compression-coded by reversibly embedding noise, multiplexing the visible additional information, and converting the data into frequency component data for each pixel block of a predetermined size, comprising: input means for inputting, as the additional information, information representing whether or not to multiplex noise for each pixel block of the predetermined size; determination means for determining on the basis of the input additional information whether a pixel block of interest is located at a position where noise is multiplexed; specifying means for, when said determination means determines that the pixel block of interest is located at the position where noise is multiplexed, specifying a noise-multiplexed second bit region on the basis of a state of a first bit region in data which constitutes a low frequency component after frequency conversion of the pixel block of interest; and reconstruction means for performing conversion inverse to noise multiplexing to reconstruct a state of the second bit region of the pixel block of interest specified by said specifying means into a state before multiplexing.
 11. An image processing method of multiplexing noise on multilevel image data to embed visible additional information with a noise-multiplexed distribution, comprising: an input step of inputting, as the additional information, information representing whether or not to multiplex noise for each pixel; a determination step of determining on the basis of the additional information whether a pixel of interest in the multilevel image data is located at a position where noise is to be multiplexed; a specifying step of, when the pixel of interest is determined in the determination step to be located at the position where noise is to be multiplexed, specifying a second bit region where noise is to be multiplexed, on the basis of a state of a first bit region in a bit configuration which constitutes the pixel of interest; and a change step of reversibly changing bit information for the second bit region of the pixel of interest specified in the specifying step.
 12. An image processing method of removing visible additional information from multilevel image data in which noise is reversibly embedded to multiplex the visible additional information, comprising: an input step of inputting, as the additional information, information representing whether or not to multiplex noise for each pixel; a determination step of determining on the basis of the additional information whether a pixel of interest in the multilevel image data is located at a position where noise is multiplexed; a specifying step of, when the pixel of interest is determined in the determination step to be located at the position where noise is multiplexed, specifying a second bit region where noise is multiplexed on the basis of a state of a first bit region in a bit configuration which constitutes the pixel of interest; and a reconstruction step of performing conversion inverse to noise multiplexing to reconstruct a state of the second bit region of the pixel of interest specified in the specifying step into a state before multiplexing.
 13. An image processing method of converting multilevel image data into frequency component data for each pixel block of a predetermined size to compression-code the multilevel image data, and multiplexing noise on the multilevel image to embed visible additional information with a noise-multiplexed distribution, comprising: an input step of inputting, as the additional information, information representing whether or not to multiplex noise for each pixel block of the predetermined size; a determination step of determining on the basis of the input additional information whether a pixel block of interest is located at a position where noise is to be multiplexed; a specifying step of, when the pixel block of interest is determined in the determination step to be located at the position where noise is to be multiplexed, specifying a second bit region where noise is to be multiplexed, on the basis of a state of a first bit region in data which constitutes a low frequency component after conversion of the pixel block of interest; and a change step of reversibly changing bit information for the second bit region in the data of the low frequency component specified in the specifying step.
 14. An image processing method of removing visible additional information from multilevel image data that is compression-coded by reversibly embedding noise, multiplexing the visible additional information, and converting the data into frequency component data for each pixel block of a predetermined size, comprising: an input step of inputting, as the additional information, information representing whether or not to multiplex noise for each pixel block of the predetermined size; a determination step of determining on the basis of the input additional information whether a pixel block of interest is located at a position where noise is multiplexed; a specifying step of, when the pixel block of interest is determined in the determination step to be located at the position where noise is multiplexed, specifying a noise-multiplexed second bit region on the basis of a state of a first bit region in data which constitutes a low frequency component after frequency conversion of the pixel block of interest; and a reconstruction step of performing conversion inverse to noise multiplexing to reconstruct a state of the second bit region of the pixel block of interest specified in the specifying step into a state before multiplexing.
 15. A computer program functioning as an image processing apparatus which multiplexes noise on multilevel image data to embed visible additional information with a noise-multiplexed distribution, functioning as: input means for inputting, as the additional information, information representing whether or not to multiplex noise for each pixel; determination means for determining on the basis of the additional information whether a pixel of interest in the multilevel image data is located at a position where noise is to be multiplexed; specifying means for, when said determination means determines that the pixel of interest is located at the position where noise is to be multiplexed, specifying a second bit region where noise is to be multiplexed, on the basis of a state of a first bit region in a bit configuration which constitutes the pixel of interest; and change means for reversibly changing bit information for the second bit region of the pixel of interest specified by said specifying means.
 16. A computer-readable storage medium storing a computer program defined in claim
 15. 17. A computer program functioning as an image processing apparatus which removes visible additional information from multilevel image data in which noise is reversibly embedded to multiplex the visible additional information, functioning as: input means for inputting, as the additional information, information representing whether or not to multiplex noise for each pixel; determination means for determining on the basis of the additional information whether a pixel of interest in the multilevel image data is located at a position where noise is multiplexed; specifying means for, when said determination means determines that the pixel of interest is located at the position where noise is multiplexed, specifying a second bit region where noise is multiplexed on the basis of a state of a first bit region in a bit configuration which constitutes the pixel of interest; and reconstruction means for performing conversion inverse to noise multiplexing to reconstruct a state of the second bit region of the pixel of interest specified by said specifying means into a state before multiplexing.
 18. A computer-readable storage medium storing a computer program defined in claim
 17. 19. A computer program functioning as an image processing apparatus which converts multilevel image data into frequency component data for each pixel block of a predetermined size to compression-code the multilevel image data, and multiplexes noise on the multilevel image to embed visible additional information with a noise-multiplexed distribution, functioning as: input means for inputting, as the additional information, information representing whether or not to multiplex noise for each pixel block of the predetermined size; determination means for determining on the basis of the input additional information whether a pixel block of interest is located at a position where noise is to be multiplexed; specifying means for, when said determination means determines that the pixel block of interest is located at the position where noise is to be multiplexed, specifying a second bit region where noise is to be multiplexed, on the basis of a state of a first bit region in data which constitutes a low frequency component after conversion of the pixel block of interest; and change means for reversibly changing bit information for the second bit region in the data of the low frequency component specified by said specifying means.
 20. A computer-readable storage medium storing a computer program defined in claim
 19. 21. A computer program functioning as an image processing apparatus which removes visible additional information from multilevel image data that is compression-coded by reversibly embedding noise, multiplexing the visible additional information, and converting the data into frequency component data for each pixel block of a predetermined size, functioning as: input means for inputting, as the additional information, information representing whether or not to multiplex noise for each pixel block of the predetermined size; determination means for determining on the basis of the input additional information whether a pixel block of interest is located at a position where noise is multiplexed; specifying means for, when said determination means determines that the pixel block of interest is located at the position where noise is multiplexed, specifying a noise-multiplexed second bit region on the basis of a state of a first bit region in data which constitutes a low frequency component after frequency conversion of the pixel block of interest; and reconstruction means for performing conversion inverse to noise multiplexing to reconstruct a state of the second bit region of the pixel block of interest specified by said specifying means into a state before multiplexing.
 22. A computer-readable storage medium storing a computer program defined in claim
 21. 